$fn=400;

difference(){
cylinder(d1=38,d2=30,h=80,center=true);
    translate([0,0,-1])cylinder(d1=32,d2=28,h=83,center=true);
translate([15,0,-10])rotate([0,90,0])doorin(20,10,4);
}


translate([18,0,-10])rotate([0,90,0])door(20,6,4);


module base(){
    
    translate([0,0,-40])cylinder(h=4,d=60,center=true);
    
    translate([0,0,-42])cylinder(h=4,d=70,center=true);
    
    }




translate([0,0,50])lighthead();
base();

module  taijie(){}


module   lighthead(a=20,b=38,c=12){
translate([0,0,25])cylinder(h=12,d1=40,d2=0,center=true);
difference(){
  union(){
    translate([0,0,6])cylinder(d=b-20,h=a+8,center=true);
    translate([0,0,-a/2+1])cylinder(d=b-2,h=2,center=true);
   }
  translate([0,0,6])cylinder(d=b-20-4,h=a+8+6,center=true);
  translate([6,10,6])rotate([0,90,60])doorin(a=8);
}




difference(){cylinder(d=b,h=a,center=true);

cylinder(d=b-2,h=a+2,center=true);
    for (i=[0:c])
    rotate([0,0,i*(360/c)])cube([b+4,6,a-2],center=true);
}

}

module doorin(a=10,b=5,c=2){



linear_extrude(b+5,center=true,convexity=10)
translate([c/2,0,0])union(){
circle(d=a-c);
translate([a*0.75,0,0])square([a*1.5,a-c],center=true);
}



}



module door(a=10,b=5,c=2){

difference(){
linear_extrude(b,center=true,convexity=10)
union(){
circle(d=a);
translate([a*0.75,0,0])square([a*1.5,a],center=true);
}


linear_extrude(b+5,center=true,convexity=10)
translate([c/2,0,0])union(){
circle(d=a-c);
translate([a*0.75,0,0])square([a*1.5,a-c],center=true);
}

}

}